Execution Fork Start
نویسندگان
چکیده
Performance studies of actual parallel systems usually tend to concentrate on the eeectiveness of a given implementation. This is often done in the absolute, without quantitave reference to the potential parallelism contained in the programs from the point of view of the execution paradigm. We feel that studying the parallelism inherent to the programs is interesting, as it gives information about the best possible behavior of any implementation and thus allows contrasting the results obtained. We propose a method for obtaining ideal speedups for programs through a combination of sequential or parallel execution and simulation, and the algorithms that allow implementing the method. Our approach is novel and, we argue, more accurate than previously proposed methods, in that a crucial part of the data { the execution times of tasks { is obtained from actual executions, while speedup is computed by simulation. This allows obtaining speedup (and other) data under controlled and ideal assumptions regarding issues such as number of processor, scheduling algorithm and overheads , etc. The results obtained can be used for example to evaluate the ideal parallelism that a program contains for a given model of execution and to compare such \perfect" parallelism to that obtained by a given implementation of that model. We also present a tool, IDRA, which implements the proposed method, and results obtained with IDRA for benchmark programs, which are then compared with those obtained in actual executions on real parallel systems.
منابع مشابه
A Hybrid Shared Memory Execution Model for a Data Parallel Language with I/O
Execution of programs with data parallel language constructs is either based on the fork/join or on the SPMD model. Whereas the former executes a program sequentially and confines parallel activity to the data parallel constructs, the latter executes the whole program in parallel: while data parallel constructs are performed cooperatively, the remaining code is replicated. However, in the prese...
متن کاملStatically-Guided Fork-based Symbolic Execution for Vulnerability Detection
Fork-based symbolic execution would waste large amounts of computing time and resource on invulnerable paths when applied to vulnerability detection. In this paper, we propose a statically-guided fork-based symbolic execution technique for vulnerability detection to mitigate this problem. In static analysis, we collect all valid jumps along vulnerable paths, and define the priority for each pro...
متن کاملNotes on the Implementation of a Remote Fork Mechanism
We describe a method for implementing a remote fork , a primitive with the semantics of a UNIX fork() call which begins the execution of the child process on a remote machine. We begin by examining the subject of process migration, and conclude that most of the relevant process state can be captured and transferred to a remote system without operating system support. We then show how our implem...
متن کاملThe M/M/1 Fork-Join Queue with Variable Sub-Tasks
The fork-join queue models parallel resources where arriving jobs divide into various number of sub-tasks that are assigned to unique devices within the parallel resource. Each device in the parallel resource is modeled by M=M=1 queueing servers. A job completes execution and departs the parallel resource after all its sub-tasks complete execution. This paper analyzes N-server fork-join queues ...
متن کاملFork-Join and Data-Driven Execution Models on Multi-core Architectures: Case Study of the FMM
Extracting maximum performance of multi-core architectures is a difficult task primarily due to bandwidth limitations of the memory subsystem and its complex hierarchy. In this work, we study the implications of fork-join and data-driven execution models on this type of architecture at the level of task parallelism. For this purpose, we use a highly optimized fork-join based implementation of t...
متن کاملSystemCSP: A graphical language for designing concurrent component-based embedded control systems
ion representing a guarded alternative contains data members for guarded event ends and for associated logical conditions. The guarded alternative control flow element participates in the synchronization mechanism on the behalf of the event-ends it is guarding. The renaming operator specifies renaming rules as a set of strings containing pairs of old and new names. The hiding operator maintains...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994